package com.shujia.wyh.day01;

/*
    java对于整数常量提供了4种表现形式
        二进制 由 0，1构成 逢2进1 以0b开头
        八进制 由0，1，2，3，4，5，6，7构成 逢8进1 以0开头
        十进制 由0，1，2，3，4，5，6，7，8，9构成 逢10进1 在java中 整数默认都是十进制的
        十六进制 由0，1，2，3，4，5，6，7，8，9，a,b,c,d,e,f构成 逢16进1  以0x开头

    注意事项：
        IDEA打印的数值结果，我们看到的都是十进制的结果

    如何从其他进制变成十进制？
        十进制：              ---->              十进制：12345
        12345 = 10000 + 2000 + 300 + 40 +5
              = 1*10^4 + 2*10^3 + 3*10^2 + 4*10^1 + 5*10^0
              = 10000 + 2000 + 300 + 40 + 5
              = 12345

        规律：每一位上的系数*本身的进制^次幂

        八进制：100          ------>   十进制：64
        100 = 1*8^2 + 0*8^1 + 0*8^0
            = 64

   如何从十进制到其他进制？
        十进制：8         ----> 二进制：
        规律：除基取余，直到商为0，余数反转

   如何从其他进制到其他进制呢？
        先转10进制，再根据规律转其他进制

   1Byte = 8bit
   1KB = 1024Byte
   1MB = 1024KB
   1GB = 1024MB
   1TB = 1024GB
   1PB = 1024TB

   8421码：二进制 ---> 十进制的快速转换方法
            1   1   1   1   1   1   1   1
           128  64  32  16  8   4   2   1

   二进制：00110011   --->  32+16+2+1=51



 */
public class ChangliangDemo2 {
    public static void main(String[] args) {
        System.out.println(0b100);  // 4
        System.out.println(0100);  // 64
        System.out.println(100);  // 100
        System.out.println(0x100); // 256
    }
}
